<html>
<head>
    <title>XBRLAPI unit test configuration suggestions</title>
    <link rel="stylesheet" href="/css/styles.css" type="text/css"/>
    <script type="text/javascript">
        var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
        document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
    </script>
    <script type="text/javascript">
        try {
            var pageTracker = _gat._getTracker("UA-11401995-1");
            pageTracker._setDomainName("none");
            pageTracker._setAllowLinker(true);
            pageTracker._trackPageview();
        } catch (err) {
        }</script>
</head>


<body>

<div class="logo_container">
	<span class="logo">
		<a class="title" href="/">XBRLAPI</a>
	</span>
	<span class="logo_subscript">
		<a class="title" href="http://en.wikipedia.org/wiki/Free_and_open_source_software">Free Open-Source Software</a>
	</span>
</div>


<div id="navcontainer">
    <form action="http://www.xbrlapi.org/search.html" id="cse-search-box">
        <div>
            <input type="hidden" name="cx" value="partner-pub-3957505011939955:jqid48zd81o"/>
            <input type="hidden" name="cof" value="FORID:10"/>
            <input type="hidden" name="ie" value="ISO-8859-1"/>
            <input type="text" name="q" size="31"/>
            <input type="submit" name="sa" value="Search"/>
        </div>
    </form>

    <script
            type="text/javascript"
            src="http://www.google.com/cse/brand?form=cse-search-box&amp;lang=en">
    </script>

    <ul id="navlist">
        <li><a href="/">Home</a></li>
        <li><a href="testConfigurationFile.html">Configuration Properties</a></li>
    </ul>

    <script type="text/javascript"><!--
    google_ad_client = "pub-3957505011939955";
    /* XBRLAPI site */
    google_ad_slot = "4927123290";
    google_ad_width = 160;
    google_ad_height = 600;
    //-->
    </script>
    <script type="text/javascript"
            src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
    </script>

</div>

<div class="content">

    <h1>Unit testing configuration file</h1>

    <h2>Overview</h2>

    <p>This page documents the properties in the unit test configuration file.</p>

    <p>The test configuration file sets a large number of configuration
        properties. These are explained below.</p>

    <p>The most current version of the configuration file is available from
        <a href="http://xbrlapi.svn.sourceforge.net/viewvc/xbrlapi/trunk/test.configuration.properties">the SVN
            repository</a>.</p>

    <h2>Local test data configuration</h2>

    <h3>local.test.data.root</h3>

    <p><code>local.test.data.root = /local/test/data/path</code></p>

    <p>Specify the path to the root directory for the
        local test data. This is the test data that is maintained as
        part of the XBRLAPI project and that is released as a ZIP archive
        in its own package as one of the file releases maintained by the
        XBRLAPI project.</p>

    <h2>Caching configuration</h2>

    <h3>local.cache</h3>

    <p><code>local.cache = /cache/path</code></p>

    <p>Specify the path to the root directory for the
        local document cache. This will be used when running all tests.</p>

    <h3>nonexistent.cache</h3>

    <p><code>nonexistent.cache = /rubbish/path/to/nonexistent/cache</code></p>

    <p>Specify a cache location that does not actually exist in the local file system.</p>

    <h3>nonexistent.url</h3>

    <p><code>nonexistent.url = http://some.rubbish.org/nonexistent.xml</code></p>

    <p>Specify a valid URL but one that does not resolve.</p>


    <h2>Exist data store configuration</h2>

    <p>These configuration properties are only required if you are unit testing
        the eXist data store implementation.</p>

    <h3>exist.xmldb.version</h3>

    <p><code>exist.xmldb.version = 1.0</code></p>

    <p>Sets the version of XML:DB to use when running Exist tests.
        Generally this should always be set to 1.0.</p>

    <h3>exist.scheme</h3>

    <p><code>exist.scheme = xmldb:exist</code></p>

    <p>Sets the URL scheme to use for accessing the Exist database.
        This should always be <code>xmldb:exist</code>.</p>

    <h3>exist.domain = localhost</h3>

    <p><code>exist.domain = localhost</code></p>

    <p>Sets the value of the domain to use in Exist database URLs.</p>

    <h3>exist.port</h3>

    <p><code>exist.port = 80</code></p>

    <p>Sets the port to use in Exist database URLs</p>

    <h3>exist.database</h3>

    <p><code>exist.database = exist/xmlrpc/db</code></p>

    <p>Sets the value of the path to the root of the eXist database for
        use in Exist database URLs.</p>

    <p>The Exist database URL is formed from:<br/>
        <code>exist.scheme + "://" + exist.domain + ":" + exist.port + "/" + exist.database</code></p>

    <h3>exist.embedded.database</h3>

    <p><code>exist.embedded.database = /db</code></p>

    <p>Sets the value of the path to the root of the eXist database for
        use in eXist database URLs when using embedde eXist.</p>

    <p>The embedded eXist database URL is formed from:<br/>
        <code>exist.scheme + "://" + exist.embedded.database</code></p>
    exist.embedded.database = /db
    <h3>exist.username</h3>

    <p><code>exist.username = admin</code></p>

    <p>The user name to use when accessing the Exist database. In a default installation
        of eXist, the username is "admin".</p>

    <h3>exist.password</h3>

    <p><code>exist.password = </code></p>

    <p>The password to use when accessing the Exist database. In a default installation of
        eXist, the password is "", ie: the empty string. If this is the case in your test
        environment, just have a new line character (or characters)at the end of the
        "=" when setting this configuration property.</p>

    <h3>exist.data.collection</h3>

    <p><code>exist.data.collection.name = xbrlapiData</code></p>

    <p>Sets the name to use for the collection that will hold
        the data store in Exist data store tests.</p>

    <h3>exist.store.parent.path</h3>

    <p><code>exist.store.parent.path = /</code></p>

    <p>The path to the collection that will be the parent collection of the collection
        that actually holds XBRLAPI data. A value of <code>/</code> specifies that the data
        store is in a collection that is a child of the database root. If some other value is used
        you will also need to ensure that the specified parent collection actually exists.</p>

    <h2>Oracle Berkeley Database XML data store configuration</h2>

    <p>These configuration properties are only required if you are unit testing
        the Oracle Berkeley Database XML data store implementation.</p>

    <h3>bdbxml.store.location</h3>

    <p><code>bdbxml.store.location = /path/to/directory/for/database/files</code></p>

    <p>The directory specified needs to be writeable.</p>

    <h3>bdbxml.container.name</h3>

    <p><code>bdbxml.container.name = xbrlapiContainer</code></p>

    <p>The container name needs to be a valid file name for the
        file system that you are using.</p>

    <h2>XBRL 2.1 conformance suite configuration</h2>

    <h3>test.data.baseURL</h3>

    <p><code>test.data.baseURL = http://localhost/conformance/</code></p>

    <p>The base URL for the XBRL 2.1 conformance suite.</p>

    <h3>test.data.baseURL.cacheRepresentation</h3>

    <p><code>test.data.baseURL.cacheRepresentation = /http/localhost/80/conformance</code></p>

    <p>The cache representation of the XBRL 2.1 conformance suite URL. This
        involves replacing the <code>://</code>,
        <code>/</code> and <code>:</code> character groups with a single slash. It also requires inclusion of the port
        information
        even if that is not explicit in the URL. If you are using a <code>file</code> scheme URL then the port value is
        <code>null</code>.</p>

    <h2>Conformance suite test data configuration</h2>

    <p>These properties all have names that are prefixed with <code>test.data</code>.</p>

    <p>The values of these properties are all paths to specific documents in
        the conformance suite. These paths are resolved relative to the base URL
        of the conformance suite. They should not be changed.</p>

    <h2>Local data set test configuration</h2>

    <p>These properties all have names that are prefixed with <code>test.data.local</code>.</p>

    <p>The values of these properties are all paths that are relative to the
        path specified by the <code>local.test.data.root</code> property. They should
        not need to be modified.</p>

    <h2>real data set test configuration</h2>

    <p>These properties all have names that are prefixed with <code>real.data</code>.</p>

    <p>The values of these properties are all absolute paths to specific
        documents. They should not be changed.</p>

    <p>
        <a href="http://sourceforge.net/projects/xbrlapi"><img
                src="http://sflogo.sourceforge.net/sflogo.php?group_id=135539&type=11" width="120" height="30"
                border="0"
                alt="Get Java XBRL API implementation at SourceForge.net. Fast, secure and Free Open Source software downloads"/></a>
    </p>

</div>

</body>
</html>
